package cn.xenosp.server.module.activiti.entity;

import lombok.Data;

import java.util.Date;

/**
 * 项目名： service-web
 * 包路径： cn.xenosp.server.module.activiti.entity
 * 作者：   TongHui
 * 创建时间: 2025-06-06 14:44
 * 描述: TODO
 * 版本: 1.0
 */
@Data
public class ProcessInstanceVO {

    /**
     * 主键
     */
    private String id;

    /**
     * 乐观锁版本号
     */
    private Integer revision;

    /**
     * 流程实例ID, 如果没有子节点, 则此字段值为 ID_, 否则值为父节点 ID_
     */
    private String processInstanceId;

    /**
     * 业务 Key, 用于将业务数据与流程实例关联
     */
    private String businessKey;

    /**
     * 父流程实例 ID ( ACT_RU_EXECUTION 表 ID_ )
     */
    private String parentId;

    /**
     * 流程定义 ID ( ACT_RE_PROCDEF 表 ID_ )
     */
    private String processDefinitionId;

    /**
     * 上级执行实例 ID ( ACT_RU_EXECUTION 表 ID_ )
     */
    private String superExecutionId;

    /**
     * 根流程实例ID ( ACT_RU_EXECUTION 表 ID_ )
     */
    private String rootProcessInstanceId;

    /**
     * 表示流程运行到的节点
     */
    private String activityId;

    /**
     * 是否激活: 1-激活; 2挂起;
     */
    private Integer isActive;

    private Boolean ended;
    /**
     * 是否并行: 1-是; 0-否;
     */
    private Integer isConcurrent;

    /**
     * 主实例字段为 1, 子实例字段为 0
     */
    private Integer isScope;

    /**
     * 是否为事件作用域: 1-是; 0-否;
     */
    private Integer isEventScope;

    /**
     * 是否是多实例的根流程: 1-是; 0-否;
     */
    private Integer isMultiInstanceRoot;

    /**
     * 挂起状态: 1-激活; 2-挂起;
     */
    private Integer suspensionState;

    /**
     * 缓存结束状态: 1-事件监听; 2-人工任务; 3-异步作业;
     */
    private Integer cachedEntityState;

    /**
     * 租户 ID
     */
    private String tenantId;

    /**
     * 名称
     */
    private String name;

    /**
     * 开始时间
     */
    private Date startTime;
    private Date endTime;
    /**
     * 启动实例用户 ID
     */
    private String startUserId;

    /**
     * 锁定时间
     */
    private Date lockTime;

    /**
     * 是否能够计数: 1-是; 0-否;
     */
    private Integer isCountEnabled;

    /**
     * 事件订阅数量
     */
    private Integer eventSubscriptionCount;

    /**
     * 任务数量
     */
    private Integer taskCount;

    /**
     * 定时任务数量
     */
    private Integer jobCount;

    /**
     * 定时器工作数量
     */
    private Integer timerJobCount;

    /**
     * 挂起工作数量
     */
    private Integer suspendedJobCount;

    /**
     * 死信工作数量
     */
    private Integer deadletterJobCount;

    /**
     * 变量数量
     */
    private Integer variableCount;

    /**
     * 标识链接数量
     */
    private Integer idLinkCount;

    /**
     * 应用版本, 对应 ACT_RE_DEPLOYMENT 表 PROJECT_RELEASE_VERSION_ 字段
     */
    private Integer appVersion;
    // 当前节点
    private String currentTask;
    // 当前办理人
    private String assignee;

    private Integer page;
    private Integer limit;
}
